package com.atguigu.tingshu.album.client.impl;

import com.atguigu.tingshu.album.client.AlbumFeignClient;
import com.atguigu.tingshu.common.result.Result;
import com.atguigu.tingshu.model.album.AlbumInfo;
import com.atguigu.tingshu.model.album.BaseCategory3;
import com.atguigu.tingshu.model.album.BaseCategoryView;
import com.atguigu.tingshu.model.album.TrackInfo;
import com.atguigu.tingshu.vo.album.AlbumStatVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

@Component
@Slf4j
public class AlbumDegradeFeignClient implements AlbumFeignClient {

    @Override
    public Result<AlbumInfo> getAlbumInfo(Long id) {
        log.error("[专辑服务]提供远程调用方法getAlbumInfo执行服务降级");
        return null;
    }

    @Override
    public Result<BaseCategoryView> getCategoryView(Long category3Id) {
        log.error("[专辑服务]提供远程调用方法getCategoryView执行服务降级");
        return null;
    }

    @Override
    public Result<AlbumStatVo> getAlbumStatVo(Long albumId) {
        log.error("[专辑服务]提供远程调用方法getAlbumStatVo执行服务降级");
        return null;
    }

    @Override
    public Result<List<BaseCategory3>> findTopBaseCategory3(Long category1Id) {
        log.error("[专辑服务]提供远程调用方法findTopBaseCategory3执行服务降级");
        return null;
    }

    @Override
    public Result<TrackInfo> getTrackInfo(Long trackId) {
        log.error("[专辑服务]提供远程调用方法getTrackInfo执行服务降级");
        return null;
    }

    @Override
    public Result<List<Map<String, Object>>> getUserTrackPaidList(Long trackId) {
        log.error("[专辑服务]提供远程调用方法getUserTrackPaidList执行服务降级");
        return null;
    }

    @Override
    public Result<List<TrackInfo>> getTracksFromOrderNum(Long albumId, Integer orderNum) {
        log.error("[专辑服务]提供远程调用方法getTracksFromOrderNum执行服务降级");
        return null;
    }

    @Override
    public Result<Map<Long, Long>> getAlbumIdsByTrackIds(List<Long> trackIdList) {
        log.error("[专辑服务]提供远程调用方法getAlbumIdsByTrackIds执行服务降级");
        return null;
    }
}
